﻿#define _CRT_SECURE_NO_WARNINGS  1
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
//void game() {
//	int r = rand() % 100 + 1; 
//	int guess = 0;
//	while (1) 
//	{
//		printf("请猜数字>:"); 
//		scanf("%d", &guess);
//		if (guess < r)
//		{
//			printf("猜小了\n");
//		}
//		else if (guess > r)
//		{
//			printf("猜大了\n");
//		}
//		else 
//		{
//			printf("恭喜你，猜对了\n");
//			break;
//		}
//	}
//}
//void menu() {
//	printf("***********************\n");
//	printf("******  1. play  ******\n"); 
//	printf("******  0. exit  ******\n");
//	printf("***********************\n");
//}
//void test() {
//	//static修饰局部变量 
//	static int i = 0;   
//	i++; 
//	printf("%d ", i);
//}
//int main()
//{
		
//	int i = 0;
//	int arr[10] = { 0 };
//	for (i = 0; i < 10; i++)
//	{
//		arr[i] = i;
//	}
//	for (i = 0; i < 10; i++)
//	{
//		printf("%d", i);
//
//	}

		/*int i = 0; 
		for (i = 0; i < 5; i++)
		{
			test();
		} return 0;
	printf("%d", printf("%d", printf("%d", 43))); 
	return 0;*/
	
//	int len = strlen("abcdef\0");//1.strlen求⼀个字符串的⻓度
//	printf("%d\n", len);//2.打印⻓度   
//	return 0;

	/*double a = 16.0;
	double b = sqrt(a);
	printf("%lf", b);
	return 0;*/


	//int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; 
	//int left = 0;
	//int right = sizeof(arr) / sizeof(arr[0]) - 1;
	//int key = 7;//要找的数字 
	//int mid = 0;//记录中间元素的下标 
	//int find = 0;
	//while (left <= right)
	//{
	//	mid = (left + right) / 2; if (arr[mid] > key)
	//	{
	//		right = mid - 1;
	//	}
	//	else if (arr[mid] < key)
	//	{
	//		left = mid + 1;
	//	}
	//	else
	//	{
	//		find = 1; break;
	//	}
	//}
	//if (1 == find)
	//	printf("找到了,下标是%d\n", mid);
	//else
	//	printf("找不到\n");
	//二分查找



	/*char arr1[] = "welcome to bit...";
	char arr2[] = "#################"; 
	int left = 0;
	int right = strlen(arr1) - 1; 
	printf("%s\n", arr2);
	while (left <= right)
	{
		Sleep(1000);
		arr2[left] = arr1[left];       
		arr2[right] = arr1[right];     
		left++;
		right--; 
		printf("%s\n", arr2);
	}    
	return 0;*/
	/*练习1：多个字符从两端移动，向中间汇聚*/

	//int arr[10] = { 0 };
	//printf("%d\n", sizeof(arr[0]));//计算⼀个元素的⼤⼩，单位是字节 
	//return 0;
	//int input = 0;//声明和初始化
	//srand((unsigned int)time(NULL));
	//do
	//{
	//	menu();
	//	printf("请选择:>");
	//	scanf("%d", &input);
	//	switch (input)
	//	{
	//	case 1:
	//		game();
	//		break; 
	//	case 0:
	//		printf("游戏结束\n");
	//		break; 
	//	default:
	//		printf("选择错误，重新选择\n");
	//		break;
	//	}
	//} while (input); 
	//return 0;
//
//	//写⼀个猜数字游戏
//	/*游戏要求：
//		1. 电脑⾃动⽣成1~100的随机数
		/*2. 玩家猜数字，猜数字的过程中，根据猜测数据的⼤⼩给出⼤了或⼩了的反馈，直到猜对，游戏结束*/
	//找出100~200之间的素数，并打印在屏幕上。

	/*int a = 0;
	scanf("%d\n", &a); 
	int cnt = 0;
	
	do
	{
		cnt++;      
		a = a / 10;
	} 
	while (a); 
	printf("%d\n", cnt);
	return 0;*/

	//输⼊⼀个正整数，计算这个整数是⼏位数？


	
	//int sum = 0;
	//for (int a = 1; a<= 100; a++)
	//{
	//	if (a % 3 == 0)
	//		sum += a;
	//	}
	//printf("%d\n", sum);
	//return 0;

	//计算1~100之间3的倍数的数字之和

	/*int i = 1;
	while (i <= 10)
	{
		printf("%d ", i);
		i++;
	}
	return 0;*/
	/*int i = 0;
	for (i = 1; i < 10; i++)
	{
		printf("%d ", i);

	}
	return 0;*/
	//在屏幕上打印1~10的值
	/*int a = 0;
	scanf("%d",&a);
	while (a)
	{
		printf("%d ", a % 10);
		a = a / 10;
		
	}
	return 0;*/
	//输⼊⼀个正的整数，逆序打印这个整数的每⼀位例如：
	/*输⼊：1234，输出：4321
	输⼊：521，输出：125*/
	//在屏幕上打印1~10的值

	/*int i = 1;
	while (i <= 10)
	{
		printf("%d ", i);
		i++;	
	}
	return 0;*/


	/*
	int a = 0;
	printf("please input a number");
	scanf("%d", &a);
	switch (a)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("工作日");
		break;
	case 6:
	case 7:
		printf("休息日");
		break;
	default:
		printf("输入错误\n");
		return 0;


	}
	*/
	/*输⼊⼀个1~7的数字，打印对应的星期⼏
		例如：
		输⼊：1输出：星期⼀
		输⼊：2输出：星期⼆
		输⼊：3输出：星期三
		输⼊：4输出：星期四
		输⼊：5输出：星期五
		输⼊：6输出：星期六
		输⼊：7输出：星期天*/

		/*int a = 0;
		printf("please input a number");
		scanf("%d", &a);
		switch (a%3)
		{
		case 0:
			printf("余数为0");
			break;
		case 1:
			printf("余数为1");
			break;
		case 2:
			printf("余数为2");
		}
		return 0;*/
		//switch 语句


		/*int a = 0;
		printf("please input a number");
		scanf("%d", &a);
		if (a % 3 == 0)
			printf("余数为0");
		else if (a % 3 == 1)
			printf("余数为1");
		else if (a % 3 == 2)
			printf("余数为2");
		return 0;*/	//if else 语句
		//输⼊任意⼀个整数值，计算除3之后的余数
		//switch语句

		/*
		int year = 0;
		printf("the year you will input is ");
		scanf("%d", &year);
		if (year % 4 == 0 && year % 100 != 0)
			printf("是闰年");
		else if (year % 400 == 0)
			printf("是闰年");
		return 0;*/
		//输⼊⼀个年份year，判断year是否是闰年

		/*int a = 0,
			b = 0;
		scanf("%d,%d",&a,&b);
		int m=a > b ? a : b;
		printf("%d", m);

		return 0;*/
		//三目操作符
		//使用条件表达式实现找两个数中较⼤值。

		/*int age = 0;
		scanf("%d", &age);
		if (age >= 18 && age <= 36)
		{
			printf("⻘年\n");
		}
		return 0;*/
		//正确做法

		/*int age = 0;
		scanf("%d", &age);
		if (18 <= age <= 36)
		{
			printf("青年\n");
		}
		return 0;*/
		//多个关系操作符不应该连用

		/*int age = 0;
		printf("please input the age of the person\n");
		scanf("%d", &age);
		if (age <= 18)
			printf("少年\n");
		else if (age <= 44)
			printf("青年\n");
		else if (age <= 59)
			printf("中老年\n");
		else if (age <= 89)
			printf("老年\n");
		else
			printf("老寿星\n");
		return 0;*/
		//和下面的等价
		/*int age = 0; scanf("%d", &age);
		if (age < 18) {
			printf("少年\n");
		}
		else {
			if (age <= 44) {
				printf("⻘年\n");
			}
			else {
				if (age <= 59) {
					printf("中⽼年\n");
				}
				else {
					if (age <= 89) printf("⽼年\n");
					else
						printf("⽼寿星\n");
				}
			}
		} return 0;*/
		//判断人的年龄段

		/*int num = 0;
		printf("please input a number");
		scanf("%d", &num);
		if (num > 0)
		{
			if (num % 2 == 0)
				printf("偶数\n");
			else
				printf("奇数\n");
		}
		else
			printf("非正数");*/
			//输⼊⼀个整数，如果是正数，再判断是奇数还是偶数，并输出；如果不是正数则输出：⾮正数。

			/*int age = 0;
			printf("the age you will input is ");
			scanf("%d", &age);
			if (age >= 18)
				printf("成年\n");
			else
				printf("未成年\n");
			return 0;*/
			//输⼊⼀个年龄，>=18岁就输出：成年，否则就输出：未成年

			/*int num = 0;
			printf("please input a number");
			scanf("%d", &num);
			if (num % 2 == 1)
				printf("%d是奇数", num);
			else
				printf("%d是偶数", num);
			return 0;*/
			//判断一个数是奇数还是偶数

			//printf("%+d\n", 12); // 输出 +12 
			//printf("%+d\n", -12); // 输出 -12 
			//return 0;
			//总是显示正负号

			/*printf("Number is %.3f\n", 0.5);
			return 0;*/
			/*int a = 0;
			int b = 0;
			float f = 0.0f;
			int r = scanf("%d %d %f", &a, &b, &f);
			printf("a=%d b=%d f=%f\n", a, b, f);
			printf("r = %d\n", r); return 0;*/
			/*printf("%*.*f\n", 6, 2, 0.5);
			return 0; */
			/*printf("%6.1f\n", 0.5);
			return 0限定小数位数，限定字符串宽度


			/*int i = 0;*/

			//int a = 10;
			//printf("%zd\n", sizeof(a));
			//printf("%zd\n", sizeof a);//a是变量的名字，可以省略掉sizeof后边的() 
			//printf("%zd\n", sizeof(int));
			//printf("%zd\n", sizeof(3 + 3.5));
			//return 0;
			//float x = 6.0 / 4; 
			//float y = 6.0 / 4;
			//printf("%f\n", x); // 输出 1.000000 
			//printf("%f\n", y); // 输出 1 
			//return 0;
			//printf("%-5d\n", 123); // 输出为 "  123"
			/*return 0;*/
//}
//int main()
//{
//	printf("Hello world\n");
//	return 0;
//}
//int main()
//{
//	int i = 0;
//
//	for (i = 0; i <= 10; i++)
//	{
//		printf("%d\n", i);
//
//	}
//	return 0;
//}
//{
//	int a, b, c, max;
//	printf("please input a,b,c:\n");
//	scanf("%d,%d,%d", &a, &b, &c);
//	max = a;
//	if (max < b)
//		max = b;
//	else if (max < c)
//		max = c;
//	printf("the biggest number is %d\n", max);
//	return 0;
//}
//{
//	float f, c;
//	f = 64.0;
//	c = (5.0 / 9) * (f - 32);
//	printf("%f", c);
//	return 0;
//
//}
//{
//	int arr[10] = { 0 };
//	int num = 100;
//	char c = 'w';
//	int i = 0;
//	for (i = 0; i < 10; i++)
//	{
//	arr[i] = i;
//	}
//return 0;
//}
